require = function t(e, c, n) {
    function a(s, o) {
        if (!c[s]) {
            if (!e[s]) {
                var l = "function" == typeof require && require;
                if (!o && l) return l(s, !0);
                if (i) return i(s, !0);
                var r = new Error("Cannot find module '" + s + "'");
                throw r.code = "MODULE_NOT_FOUND",
                r
            }
            var h = c[s] = {
                exports: {}
            };
            e[s][0].call(h.exports,
            function(t) {
                var c = e[s][1][t];
                return a(c || t)
            },
            h, h.exports, t, e, c, n)
        }
        return c[s].exports
    }
    for (var i = "function" == typeof require && require,
    s = 0; s < n.length; s++) a(n[s]);
    return a
} ({
    Button: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "c0f4e8aIKJIkqze4lQliKOc", "Button");
        var n = t("GameData");
        cc.Class({
            extends: cc.Component,
            properties: {
                ban: {
                default:
                    null,
                    type: cc.Node
                },
                num: {
                default:
                    null,
                    type: cc.Node
                }
            },
            start: function() {
                this.node.on(cc.Node.EventType.TOUCH_START, this.onClick, this),
                this.node.on(cc.Node.EventType.TOUCH_CANCEL, this.onCancelClick, this),
                this.node.on(cc.Node.EventType.TOUCH_END, this.onEndClick, this)
            },
            init: function(t, e, c) {
                this.id = t,
                this.node.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(cc.url.raw("resources/stage/" + e + ".png")),
                this.num.getComponent(cc.Sprite).spriteFrame = new cc.SpriteFrame(cc.url.raw("resources/bname/" + t + ".png")),
                this.ban.active = t > c
            },
            onClick: function() {
                0 == this.ban.active && this.node.runAction(cc.scaleTo(.2, 1.2))
            },
            onCancelClick: function() {
                this.node.runAction(cc.scaleTo(.2, 1))
            },
            onEndClick: function() {
                0 == this.ban.active && (n.getInstance().setDoStage(this.id), cc.director.loadScene("GameScene"))
            }
        }),
        cc._RF.pop()
    },
    {
        GameData: "GameData"
    }],
    Common: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "5c138HK4NNCLr4DsObYm76h", "Common");
        cc._RF.pop()
    },
    {}],
    Dialog: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "6e1dbb/SRhHlYBypvqpYzHH", "Dialog");
        var n = t("GameData");
        cc.Class({
            extends: cc.Component,
            properties: {
                view_node: {
                default:
                    null,
                    type: cc.Node
                },
                des_spr: {
                default:
                    null,
                    type: cc.Sprite
                },
                score_spr: {
                default:
                    null,
                    type: cc.Label
                },
                Game_script: {
                default:
                    null,
                    type: t("Game")
                }
            },
            onLoad: function() {
                this.stageData = n.getInstance().getStageData(),
                this.score_spr.string = this.stageData.win;
                var t = (Number(this.stageData.id) + 1) / 8,
                e = Math.ceil(t);
                cc.log(t + "          " + e + "    " + this.stageData.id),
                this.des_spr.spriteFrame = new cc.SpriteFrame(cc.url.raw("resources/name/" + this.stageData.id + ".png")),
                this.view_node.setScale(0, 0)
            },
            start: function() {
                this.view_node.runAction(cc.sequence(cc.delayTime(.5), cc.scaleTo(.4, .9, .9).easing(cc.easeBackOut()))),
                this.node.on(cc.Node.EventType.TOUCH_START, this.onClick, this)
            },
            onClick: function() {
                this.Game_script.gameStart(),
                this.closeView()
            },
            closeView: function() {
                this.node.active = !1
            }
        }),
        cc._RF.pop()
    },
    {
        Game: "Game",
        GameData: "GameData"
    }],
    GameAdapt: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "8c3acn7YrNGxLX6wk+3y7B2", "GameAdapt"),
        cc.Class({
            extends: cc.Component,
            properties: {},
            onLoad: function() {
                var t = cc.winSize.width / cc.winSize.height,
                e = this.node.getComponent(cc.Canvas);
                t <= .67 ? (e.fitHeight = !0, e.fitWidth = !1) : t > 1 ? (e.fitHeight = !0, e.fitWidth = !0) : (e.fitWidth = !0, e.fitHeight = !1)
            },
            start: function() {}
        }),
        cc._RF.pop()
    },
    {}],
    GameData: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "36aafMjPRdBlos4bvuQOzMx", "GameData");
        var n = cc.Class({
            properties: {
                stage: null,
                stageData: null,
                levelData: null
            },
            ctor: function() {
                this.showStage = !10,
                this.doBoss = !1;
                var t = this,
                e = this.getStorageData("stage");
                cc.log("_stage" + e),
                null == e ? (this.setStorageData("stage", 1), this.setStorageData("music", 1), this.setStorageData("guide", 1), this.setStorageData("boss", 0), this.setStorageData("isPass", 0), this.setStorageData("isShow_ad", 0), this.setStorageData("isShow_count", 0), this.setStorageData("issharefacebook", 0), this.stage = 10) : this.stage = 10,
                cc.loader.load(cc.url.raw("resources/Data/Stage.json"),
                function(e, c) {
                    e ? cc.log(e) : (t.stageData = c, cc.log("loadstageData:" + JSON.stringify(t.stageData)))
                }),
                cc.loader.load(cc.url.raw("resources/Data/Level_ai.json"),
                function(e, c) {
                    e ? cc.log(e) : (t.levelData = c, cc.log("loadLevel_ai:" + JSON.stringify(t.levelData)))
                })
            },
            getStorageData: function(t) {
                return cc.sys.localStorage.getItem(t)
            },
            setStorageData: function(t, e) {
                cc.sys.localStorage.setItem(t, e)
            },
            setStage: function(t) {
                this.stage = t,
                this.setStorageData("stage", this.stage),
                cc.log("setStage=" + this.stage)
            },
            setShowStage: function(t) {
                this.showStage = t
            },
            setDoBoss: function(t) {
                this.doBoss = t
            },
            getDoBoss: function() {
                return this.doBoss
            },
            setDoStage: function(t) {
                this.doStage = t
            },
            getDoStage: function() {
                return this.doStage
            },
            set_isShow_ad: function(t) {
                this.isShow_ad = t
            },
            get_isShow_ad: function() {
                return this.isShow_ad
            },
            getStageData: function() {
                if (null == this.stageData) {
                    var t = [];
                    return t.id = 1,
                    t.win = 3,
                    t
                }
                var e = this.stage;
                return this.doBoss ? e = 10 : this.doStage > 0 && (e = this.doStage),
                cc.log("getStageData=" + e + " " + this.stage),
                this.stageData[e]
            },
            getLevelData: function(t) {
                if (null == this.levelData) {
                    var e = [];
                    e.count = 5,
                    e.Rate = 50;
                    var c = [e],
                    n = [];
                    return n.id = 1,
                    n.speed_1 = 20,
                    n.speed_2 = 60,
                    n.speed_3 = 20,
                    n.back_l = 50,
                    n.back_r = 50,
                    n.count_list = c,
                    n
                }
                var a = this.stage;
                return this.doBoss ? a = 10 : this.doStage > 0 && (a = this.doStage),
                this.levelData[a + "_" + t]
            }
        });
        n._instance = null,
        n.getInstance = function() {
            return n._instance || (n._instance = new n),
            n._instance
        },
        e.exports = n,
        cc._RF.pop()
    },
    {}],
    GameLose: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "92c89uEnD9NLJiUrONsA6QN", "GameLose"),
        cc.Class({
            extends: cc.Component,
            properties: {},
            start: function() {
                
            }
        }),
        cc._RF.pop()
    },
    {}],
    GameManager: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "4e833AmVMlNVY9/bOOYTLF4", "GameManager");
        var n = cc.Class({
            ctor: function() {}
        });
        n._instance = null,
        n.getInstance = function() {
            return n._instance || (n._instance = new n),
            n._instance
        },
        e.exports = n,
        cc._RF.pop()
    },
    {}],
    GameRoot: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "f107exZ6mtI4KvrnBce5ttb", "GameRoot"),
        window.GlobalData = {
            channel: 3
        };
        var n = t("GameManager"),
        a = t("GameData"),
        i = cc.Class({
            extends: cc.Component,
            properties: {},
            onLoad: function() {
                cc.game.addPersistRootNode(this.node),
                n.getInstance(),
                a.getInstance(),
                this.initScene(),
                cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this)
            },
            initScene: function() {
                cc.director.loadScene("LogoScene")
            },
            changeScene: function(t, e) {
                cc.director.loadScene(e)
            },
            start: function() {},
            onDestroy: function() {
                cc.systemEvent.off(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this)
            },
            onKeyDown: function(t) {
                switch (cc.log("onKeyDown=" + t.keyCode), t.keyCode) {
                case cc.KEY.back:
                    if (console.log("onKeyDown"), console.log("onShowInner=" + GlobalData.channel), cc.sys.OS_ANDROID == cc.sys.os) return 1 == GlobalData.channel && (console.log("onShowInner"), jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "onShowInner", "(Ljava/lang/String;)V", "22725")),
                    !0
                }
            }
        });
        i._instance = null,
        i.getInstance = function() {
            return i._instance || (i._instance = new i),
            i._instance
        },
        e.exports = i,
        cc._RF.pop()
    },
    {
        GameData: "GameData",
        GameManager: "GameManager"
    }],
    GameWin: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "82b29FP7BBEyq0Rg4+X+J1w", "GameWin");
        var n = t("GameData"),
        a = t("SoundManager");
        cc.Class({
            extends: cc.Component,
            properties: {},
            onLoad: function() {
                a.getInstance().playEffect("Herray"),
                this.node.on(cc.Node.EventType.TOUCH_START, this.onClick, this),
                this.time = 1,
                this.count = 0;
                var t = parseInt(n.getInstance().getStorageData("stage")),
                e = n.getInstance().getStorageData("isPass"),
                c = (n.getInstance().getDoBoss(), parseInt(n.getInstance().getDoStage())); (cc.log(t + "  = " + c + " " + e), cc.sys.OS_ANDROID == cc.sys.os) && (5 == t && 0 == n.getInstance().getStorageData("issharefacebook") && (jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "ShareFacebook", "()V"), n.getInstance().setStorageData("issharefacebook", 1)));
                t < 10 && t == c ? (t += 1, n.getInstance().setShowStage(!0), n.getInstance().setDoStage(0), n.getInstance().setStage(t)) : 10 == c && n.getInstance().setStorageData("isPass", 1),
                cc.sys.OS_ANDROID == cc.sys.os && (1 == GlobalData.channel ? jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "onShowInner", "(Ljava/lang/String;)V", "22724") : 4 == GlobalData.channel && jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "Showreward", "()V")),
                3 == GlobalData.channel && (cc.log("QuickAds.showAfg"))
            },
            start: function() {},
            onClick: function() {},
            update: function(t) {
                if (this.time = this.time + t, this.time > 1) {
                    this.time = 0,
                    this.count = this.count + 1,
                    cc.log(this.time + "   " + this.count);
                    for (var e = 4 * cc.random0To1() + 1, c = 1; c <= e; c++) {
                        var n = new cc.Node,
                        a = n.addComponent(cc.Sprite),
                        i = Math.floor(7 * cc.random0To1() + 1);
                        a.spriteFrame = new cc.SpriteFrame(cc.url.raw("resources/win/" + i + ".png")),
                        n.parent = this.node;
                        var s = 600 * cc.random0To1() - 100,
                        o = 4 * cc.random0To1() + 3;
                        n.setPosition(cc.p(cc.winSize.width + 500, s)),
                        n.runAction(cc.moveTo(o, cc.p( - cc.winSize.width - 500, s)))
                    }
                    6 == this.count && cc.director.loadScene("StageScene")
                }
            }
        }),
        cc._RF.pop()
    },
    {
        GameData: "GameData",
        SoundManager: "SoundManager"
    }],
    Game: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "49a04uToRZHSYAHkCsofnbP", "Game");
        var n = t("SoundManager"),
        a = t("GameData");
        cc.Class({
            extends: cc.Component,
            properties: {
                left_btn: {
                default:
                    null,
                    type: cc.Button
                },
                right_btn: {
                default:
                    null,
                    type: cc.Button
                },
                gameLoseBall: {
                default:
                    null,
                    type: cc.Node
                },
                playerA: {
                default:
                    null,
                    type: cc.Node
                },
                playerB: {
                default:
                    null,
                    type: cc.Node
                },
                score_A_spr: {
                default:
                    null,
                    type: cc.Label
                },
                score_B_spr: {
                default:
                    null,
                    type: cc.Label
                },
                background_spr: {
                default:
                    null,
                    type: cc.Sprite
                },
                table_spr: {
                default:
                    null,
                    type: cc.Sprite
                },
                hint3_spr: {
                default:
                    null,
                    type: cc.Sprite
                },
                hint2_spr: {
                default:
                    null,
                    type: cc.Sprite
                },
                gameWin: {
                default:
                    null,
                    type: cc.Prefab
                },
                gameLose: {
                default:
                    null,
                    type: cc.Node
                },
                menu: {
                default:
                    null,
                    type: cc.Node
                },
                a_Lose: {
                default:
                    null,
                    type: cc.Node
                },
                b_Lose: {
                default:
                    null,
                    type: cc.Node
                }
            },
            onLoad: function() {
                this.ishow_menu = !1,
                this.ball_state = 0,
                this.can_click = !0,
                this.player_B_playcount = 0,
                this.stageData = a.getInstance().getStageData(),
                this.win_score = this.stageData.win,
                this.ball_animation = this.getComponent("sp.Skeleton"),
                this.ball_animation.setAnimationListener(this, this.spineEventCallback);
                var t = cc.find("Canvas/PlayView");
                t.setOpacity(0),
                t.runAction(cc.fadeIn(.2));
                this.level = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10][this.stageData.id - 1],
                this.background_spr.spriteFrame = new cc.SpriteFrame(cc.url.raw("resources/background/bg" + this.level + ".png")),
                this.table_spr.spriteFrame = new cc.SpriteFrame(cc.url.raw("resources/table/table" + this.level + ".png")),
                cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this)
            },
            onKeyDown: function(t) {
                switch (cc.log("onKeyDown=" + t.keyCode), t.keyCode) {
                case cc.KEY.back:
                    if (cc.sys.OS_ANDROID == cc.sys.os) return this.showMenu(),
                    !0
                }
            },
            start: function() {
                this.left_btn.node.on(cc.Node.EventType.TOUCH_START, this.left_event, this),
                this.right_btn.node.on(cc.Node.EventType.TOUCH_START, this.right_event, this),
                this.gameLoseBall.on(cc.Node.EventType.TOUCH_START, this.overClick, this),
                this.gameLose.on(cc.Node.EventType.TOUCH_START, this.onClickNext, this),
                this.playerA.getComponent(cc.Animation).on("finished", this.player_A_play_finish, this)
            },
            spineEventCallback: function(t, e, c, n, a) {
                c == sp.AnimationEventType.EVENT && ("ball_change_state" == n.data.name ? (cc.log("ball_change_state=" + n.intValue), this.ball_change_state(n.intValue)) : "player_B_play" == n.data.name && (cc.log("player_B_play=" + n.intValue), this.player_B_play(n.intValue)))
            },
            showPlayerBCount: function() {
                a.getInstance().getStorageData("isShow_count")
            },
            gameStart: function() {
                this.setScore_A(0),
                this.setScore_B(0),
                this.node.runAction(cc.sequence(cc.delayTime(2), cc.callFunc(function() {
                    this.player_B_ServeAnim()
                },
                this)))
            },
            onClickNext: function() {
                this.lose_canClose && cc.director.loadScene("StageScene")
            },
            overClick: function() {
                cc.log("over"),
                this.lose_canClose && (this.lose_canClose = !1, this.changeViewStyle(!1), this.gameLoseBall.active = !1, this.hint3_spr.node.stopAllActions(), this.ball_state = 0, this.player_B_ServeAnim())
            },
            setScore_A: function(t) {
                if (cc.log("setScore_A=" + t + "  win_score=" + this.win_score), this.score_A = t, this.score_A_spr.node.runAction(cc.sequence(cc.scaleTo(.2, .6, .6), cc.callFunc(function() {
                    this.score_A_spr.string = t
                },
                this), cc.scaleTo(.3, 1.2, 1.2), cc.scaleTo(.2, 1, 1))), this.score_A == this.win_score) {
                    cc.log("you win");
                    var e = cc.instantiate(this.gameWin);
                    e.parent = this.node.parent,
                    e.setPosition(0, 0)
                } else this.levelData = a.getInstance().getLevelData(t),
                this.setPlayer_B_playcount()
            },
            setScore_B: function(t) {
                cc.log("setScore_B=" + t + "  win_score=" + this.win_score),
                this.score_B = t,
                t > 9 && (t = 9),
                this.score_B_spr.node.runAction(cc.sequence(cc.scaleTo(.1, .6, .6), cc.callFunc(function() {
                    this.score_B_spr.string = t
                },
                this), cc.scaleTo(.3, 1.4, 1.4), cc.scaleTo(.2, 1, 1))),
                t == this.win_score && (this.gameLose.active = !0, this.hint2_spr.node.runAction(cc.repeatForever(cc.blink(1, 1))), this.node.runAction(cc.sequence(cc.delayTime(.4), cc.callFunc(function() {
                    this.lose_canClose = !0
                },
                this))), this.changeViewStyle(!0), n.getInstance().playEffect("Lose"), cc.log("game over"), cc.sys.OS_ANDROID == cc.sys.os && (1 == GlobalData.channel ? jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "onShowInner", "(Ljava/lang/String;)V", "22723") : 4 == GlobalData.channel && jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "Showinner", "()V")))
            },
            setPlayer_B_playcount: function() {
                cc.log("setPlayer_B_playcount");
                var t = this.levelData.count_list,
                e = 99 * cc.random0To1() + 1,
                c = 0;
                for (var n in t) if (e <= (c += t[n].Rate)) {
                    this.player_B_need_count = t[n].count,
                    cc.log("this.player_B_need_count=" + this.player_B_need_count);
                    break
                }
            },
            getSpeed: function() {
                for (var t = 0,
                e = 99 * cc.random0To1() + 1, c = 1; c <= 3; c++) if (e <= (t += this.levelData["speed_" + c])) return cc.log("speed=" + c),
                3 == c && n.getInstance().playEffect("HardHit"),
                c;
                return 2
            },
            getDirection: function() {
                return 99 * cc.random0To1() + 1 <= this.levelData.back_l ? 1 : 2
            },
            ball_change_state: function(t) {
                cc.log("frameEvent" + t),
                0 == t && this.ai_state ? 1 == this.ai_state ? this.player_A_play(1) : this.player_A_play(2) : (0 == t ? (cc.log("you loss ball:" + t), this.setScore_B(this.score_B + 1), this.playerA.getComponent(cc.Animation).play("Player_lose1"), this.playerB.getComponent(cc.Animation).play("Player_win1"), this.player_a_lose(this.ball_state), 3 == GlobalData.channel && (cc.log("QuickAds.showAfg")), this.score_B < this.win_score && (this.gameLoseBall.active = !0, this.hint3_spr.node.runAction(cc.repeatForever(cc.blink(1, 1))), this.node.runAction(cc.sequence(cc.delayTime(.4), cc.callFunc(function() {
                    this.lose_canClose = !0
                },
                this))), this.player_B_playcount = 0, this.changeViewStyle(!0), cc.sys.OS_ANDROID == cc.sys.os && 1 == GlobalData.channel && jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "onShowInner", "(Ljava/lang/String;)V", "22723"))) : this.Ai_palyer_A && (this.ai_state = t), this.ball_state = t)
            },
            player_B_play: function(t) {
                1 == t ? this.playerB.setPosition(cc.p(157, 297)) : this.playerB.setPosition(cc.p( - 55, 297)),
                3 == t ? this.playerB.getComponent(cc.Animation).play("B_Play_2") : this.playerB.getComponent(cc.Animation).play("B_Play_1"),
                this.player_B_checkcount() ? (cc.log("player_B_play" + t), n.getInstance().playEffect("Hit1"), this.player_B_ai(t)) : (this.setScore_A(this.score_A + 1), this.score_A < this.win_score && (cc.log("you win ball"), this.win_ball()), this.playerB.getComponent(cc.Animation).play("Player_lose"), this.playerA.getComponent(cc.Animation).play("Player_win"), this.player_b_lose(t))
            },
            win_ball: function() {
                this.player_B_playcount = 0,
                this.node.runAction(cc.sequence(cc.delayTime(2), cc.callFunc(function() {
                    this.player_B_ServeAnim()
                },
                this)))
            },
            player_B_checkcount: function() {
                return this.player_B_playcount = this.player_B_playcount + 1,
                !(this.player_B_playcount >= this.player_B_need_count)
            },
            player_B_ServeAnim: function() {
                this.a_Lose.setOpacity(0),
                this.b_Lose.setOpacity(0),
                this.playerB.getComponent(cc.Animation).play("Player_stand"),
                this.playerA.getComponent(cc.Animation).play("Player_stand"),
                this.playerB.setPosition(cc.p(157, 297)),
                this.playerB.getComponent(cc.Animation).play("B_Play_serve")
            },
            playBServe: function() {
                this.playerB.getComponent(cc.Animation).play("B_Play_1"),
                this.ball_animation.setAnimation(0, "Ball_B1_A1_2", !1),
                n.getInstance().playEffect("Hit1")
            },
            left_event: function(t) {
                cc.log("left" + this.ball_state),
                this.player_A_play(1)
            },
            right_event: function(t) {
                cc.log("right" + this.ball_state),
                this.player_A_play(2)
            },
            player_B_ai: function(t) {
                var e = this.getDirection(),
                c = this.getSpeed();
                cc.log(t + "player_B_ai=" + e + "  " + c),
                1 == t ? 1 == e ? this.ball_animation.setAnimation(0, "Ball_B1_A2_" + c, !1) : 2 == e && this.ball_animation.setAnimation(0, "Ball_B1_A1_" + c, !1) : 2 == t ? 1 == e ? this.ball_animation.setAnimation(0, "Ball_B2_A3_" + c, !1) : 2 == e && this.ball_animation.setAnimation(0, "Ball_B2_A1_" + c, !1) : 3 == t && (1 == e ? this.ball_animation.setAnimation(0, "Ball_B3_A3_" + c, !1) : 2 == e && this.ball_animation.setAnimation(0, "Ball_B3_A1_" + c, !1))
            },
            player_A_ai: function(t) {
                var e = this.getDirection(),
                c = this.getSpeed();
                1 == t ? 1 == e ? this.ball_animation.setAnimation(0, "Ball_A1_B2_" + c, !1) : 2 == e && this.ball_animation.setAnimation(0, "Ball_A1_B1_" + c, !1) : 2 == t ? 1 == e ? this.ball_animation.setAnimation(0, "Ball_A2_B3_" + c, !1) : 2 == e && this.ball_animation.setAnimation(0, "Ball_A2_B1_" + c, !1) : 3 == t && (1 == e ? this.ball_animation.setAnimation(0, "Ball_A3_B3_" + c, !1) : 2 == e && this.ball_animation.setAnimation(0, "Ball_A3_B1_" + c, !1))
            },
            player_A_play_finish: function() {
                cc.log("setClickState"),
                this.can_click = !0
            },
            player_A_play: function(t) {
                this.can_click && (this.can_click = !1, 1 == t ? (this.playerA.setPosition(cc.p( - 171, -207)), this.playerA.getComponent(cc.Animation).play("A_Play_1"), 1 == this.ball_state && (n.getInstance().playEffect("Hit2"), this.player_A_ai(this.ball_state), this.ball_state = 0)) : 2 == t && (this.playerA.setPosition(cc.p(71, -207)), 2 == this.ball_state ? (this.playerA.getComponent(cc.Animation).play("A_Play_1"), n.getInstance().playEffect("Hit2"), this.player_A_ai(this.ball_state), this.ball_state = 0) : 3 == this.ball_state ? (n.getInstance().playEffect("Hit2"), this.playerA.getComponent(cc.Animation).play("A_Play_2"), this.player_A_ai(this.ball_state), this.ball_state = 0) : this.playerA.getComponent(cc.Animation).play("A_Play_1")))
            },
            changeViewStyle: function(t) {
                t ? (this.table_spr.spriteFrame = new cc.SpriteFrame(cc.url.raw("resources/table/table.png")), this.background_spr.spriteFrame = new cc.SpriteFrame(cc.url.raw("resources/background/bg.png")), this.left_btn.node.setOpacity(0), this.right_btn.node.setOpacity(0)) : (this.table_spr.spriteFrame = new cc.SpriteFrame(cc.url.raw("resources/table/table" + this.level + ".png")), this.background_spr.spriteFrame = new cc.SpriteFrame(cc.url.raw("resources/background/bg" + this.level + ".png")), this.left_btn.node.setOpacity(255), this.right_btn.node.setOpacity(255))
            },
            player_a_lose: function(t) {
                1 == t ? (this.a_Lose.setScale(1, 1), this.a_Lose.setPosition(cc.p( - 226, -367))) : 2 == t ? (this.a_Lose.setScale( - 1, 1), this.a_Lose.setPosition(cc.p(282, -388))) : 3 == t && (this.a_Lose.setScale( - 1, 1), this.a_Lose.setPosition(cc.p(293, -440))),
                this.a_Lose.getComponent(cc.Animation).play("A_lose"),
                this.a_Lose.runAction(cc.fadeIn(0))
            },
            player_b_lose: function(t) {
                1 == t ? (this.b_Lose.setScale(1, 1), this.b_Lose.setPosition(cc.p(250, 410))) : 2 == t ? (this.b_Lose.setScale( - 1, 1), this.b_Lose.setPosition(cc.p( - 190, 418))) : 3 == t && (this.b_Lose.setScale( - 1, 1), this.b_Lose.setPosition(cc.p( - 321, 458))),
                this.b_Lose.getComponent(cc.Animation).play("B_lose"),
                this.b_Lose.runAction(cc.fadeIn(0))
            },
            showMenu: function() {
                cc.sys.OS_ANDROID == cc.sys.os && 1 == GlobalData.channel && jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "onShowInner", "(Ljava/lang/String;)V", "22722"),
                cc.log(GlobalData.channel),
                cc.director.pause(),
                this.menu.active = !0
            }
        }),
        cc._RF.pop()
    },
    {
        GameData: "GameData",
        SoundManager: "SoundManager"
    }],
    GuideView: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "0cd29kSu5ZFp4hJ3nmZ7PLg", "GuideView");
        var n = t("SoundManager"),
        a = t("GameData");
        cc.Class({
            extends: cc.Component,
            properties: {
                playerA: {
                default:
                    null,
                    type: cc.Node
                },
                playerB: {
                default:
                    null,
                    type: cc.Node
                },
                table_spr: {
                default:
                    null,
                    type: cc.Sprite
                },
                left_btn: {
                default:
                    null,
                    type: cc.Button
                },
                right_btn: {
                default:
                    null,
                    type: cc.Button
                },
                hint1_spr: {
                default:
                    null,
                    type: cc.Node
                },
                hint2_spr: {
                default:
                    null,
                    type: cc.Node
                },
                black1_spr: {
                default:
                    null,
                    type: cc.Node
                },
                black2_spr: {
                default:
                    null,
                    type: cc.Node
                }
            },
            onLoad: function() {
                this.ball_state = 0,
                this.can_click = !0,
                this.step = 0,
                this.ball_animation = this.getComponent("sp.Skeleton"),
                this.ball_animation.setAnimationListener(this, this.spineEventCallback)
            },
            start: function() {
                this.left_btn.node.on(cc.Node.EventType.TOUCH_START, this.left_event, this),
                this.right_btn.node.on(cc.Node.EventType.TOUCH_START, this.right_event, this),
                this.playerA.getComponent(cc.Animation).on("finished", this.player_A_play_finish, this),
                this.node.runAction(cc.sequence(cc.delayTime(2), cc.callFunc(function() {
                    this.player_B_ServeAnim()
                },
                this)))
            },
            spineEventCallback: function(t, e, c, n, a) {
                c == sp.AnimationEventType.EVENT && ("ball_change_state" == n.data.name ? (cc.log("ball_change_state=" + n.intValue), this.ball_change_state(n.intValue)) : "player_B_play" == n.data.name && (cc.log("player_B_play=" + n.intValue), this.player_B_play(n.intValue)))
            },
            player_B_ServeAnim: function() {
                this.hint1_spr.active = !0,
                this.hint1_spr.setOpacity(0),
                this.hint1_spr.runAction(cc.fadeIn(.2)),
                this.hint2_spr.active = !1,
                this.playerB.setPosition(cc.p(157, 400)),
                this.playerB.getComponent(cc.Animation).play("B_Play_serve")
            },
            playBServe: function() {
                this.playerB.getComponent(cc.Animation).play("B_Play_1"),
                this.ball_animation.setAnimation(0, "Ball_B1_A1_2", !1),
                this.node.runAction(cc.fadeIn(0)),
                n.getInstance().playEffect("Hit1")
            },
            ball_change_state: function(t) {
                cc.log("frameEvent" + t),
                this.ball_state = t,
                0 == t ? (this.step = 0, cc.log("you loss:" + t), this.black1_spr.active = !1, this.black2_spr.active = !1, this.node.setOpacity(0), this.node.runAction(cc.sequence(cc.delayTime(1), cc.callFunc(function() {
                    this.player_B_ServeAnim()
                },
                this)))) : 1 == t ? (this.black1_spr.active = !0, this.black2_spr.active = !1) : 2 == t && (this.black1_spr.active = !1, this.black2_spr.active = !0)
            },
            player_B_play: function(t) {
                this.playerB.getComponent(cc.Animation).play("B_Play_1"),
                this.player_B_checkcount() ? (n.getInstance().playEffect("Hit1"), this.player_B_ai(t), 1 == t ? this.playerB.setPosition(cc.p(157, 400)) : this.playerB.setPosition(cc.p(0, 347))) : (cc.log("you win"), this.node.setOpacity(0), this.node.runAction(cc.sequence(cc.delayTime(1), cc.callFunc(function() {
                    this.nextScene()
                },
                this))))
            },
            player_B_checkcount: function() {
                return 3 != this.step
            },
            left_event: function(t) {
                cc.log("left" + this.ball_state),
                this.player_A_play(1)
            },
            right_event: function(t) {
                cc.log("right" + this.ball_state),
                this.player_A_play(2)
            },
            player_B_ai: function(t) {
                1 == this.step ? (this.ball_animation.setAnimation(0, "Ball_B1_A2_2", !1), this.hint2_spr.active = !0, this.hint2_spr.setOpacity(0), this.hint2_spr.runAction(cc.fadeIn(.2)), this.hint1_spr.active = !1) : 2 == this.step && (this.ball_animation.setAnimation(0, "Ball_B1_A1_2", !1), this.hint1_spr.active = !0, this.hint1_spr.setOpacity(0), this.hint1_spr.runAction(cc.fadeIn(.2)), this.hint2_spr.active = !1)
            },
            player_A_ai: function(t) {
                1 == this.step || 3 == this.step ? this.ball_animation.setAnimation(0, "Ball_A1_B1_2", !1) : 2 == this.step && this.ball_animation.setAnimation(0, "Ball_A2_B1_2", !1)
            },
            player_A_play_finish: function() {
                cc.log("setClickState"),
                this.can_click = !0
            },
            player_A_play: function(t) {
                this.can_click && (this.can_click = !1, 1 == t ? (this.black1_spr.active = !1, this.black2_spr.active = !1, 0 == this.step ? this.step = 1 : 2 == this.step && (this.step = 3), this.playerA.setPosition(cc.p( - 171, -104)), this.playerA.getComponent(cc.Animation).play("A_Play_1"), 1 == this.ball_state && (n.getInstance().playEffect("Hit2"), this.player_A_ai(this.ball_state), this.ball_state = 0)) : 2 == t && (this.playerA.setPosition(cc.p(71, -104)), 2 == this.ball_state ? (this.step = 2, this.black1_spr.active = !1, this.black2_spr.active = !1, this.playerA.getComponent(cc.Animation).play("A_Play_1"), n.getInstance().playEffect("Hit2"), this.player_A_ai(this.ball_state), this.ball_state = 0) : 3 == this.ball_state ? (n.getInstance().playEffect("Hit2"), this.playerA.getComponent(cc.Animation).play("A_Play_1"), this.player_A_ai(this.ball_state), this.ball_state = 0) : this.playerA.getComponent(cc.Animation).play("A_Play_1")))
            },
            nextScene: function() {
                a.getInstance().setStorageData("guide", 0),
                cc.director.loadScene("GameScene")
            }
        }),
        cc._RF.pop()
    },
    {
        GameData: "GameData",
        SoundManager: "SoundManager"
    }],
    HelpManager: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "4a5eeLkIwNAPpquGhFCur50", "HelpManager");
        var n = cc.Class({
            ctor: function() {
                this.channel = 1
            }
        });
        n._instance = null,
        n.getInstance = function() {
            return n._instance || (n._instance = new n),
            n._instance
        },
        e.exports = n,
        cc._RF.pop()
    },
    {}],
    HelpView: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "ba955182hJDh78304pxbpbb", "HelpView"),
        cc.Class({
            extends: cc.Component,
            properties: {
                back_spr: {
                default:
                    null,
                    type: cc.Node
                }
            },
            onLoad: function() {
                this.back_spr.on(cc.Node.EventType.TOUCH_START, this.onClick, this)
            },
            start: function() {},
            onClick: function() {},
            onClose: function() {
                this.node.active = !1
            }
        }),
        cc._RF.pop()
    },
    {}],
    LoadView: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "0add6uUiLdAxqy9pEWx3S9B", "LoadView");
        var n = t("GameData"),
        a = t("SoundManager");
        cc.Class({
            extends: cc.Component,
            properties: {
                load_bar: {
                default:
                    null,
                    type: cc.ProgressBar
                },
                spine: {
                default:
                    null,
                    type: cc.Node
                },
                click_btn: {
                default:
                    null,
                    type: cc.Button
                }
            },
            onLoad: function() {
                a.getInstance().playMusic("HomeBGM"),
                this.List = ["GameScene", "StageScene"],
                this.onLoadScene(0),
                this.click_btn.node.setScale(0, 0);
                var t = this.spine.getComponent("sp.Skeleton");
                t.setAnimation(1, "animation1", !1),
                t.addAnimation(1, "animation2", !0),
                cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this)
            },
            onKeyDown: function(t) {
                switch (cc.log("onKeyDown=" + t.keyCode), t.keyCode) {
                case cc.KEY.back:
                    if (cc.sys.OS_ANDROID == cc.sys.os) return jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "exitGame", "()V"),
                    !0
                }
            },
            start: function() {},
            onLoadScene: function(t) {
                var e = this;
                t < this.List.length ? cc.director.preloadScene(this.List[t],
                function() {
                    var c = cc.sequence(cc.delayTime(.2), cc.callFunc(function() {
                        e.onLoadScene(t + 1)
                    },
                    e));
                    e.node.runAction(c);
                    var n = t / (e.List.length - 1);
                    cc.log("load=" + n),
                    e.load_bar.progress = n
                }) : (this.load_bar.node.active = !1, this.click_btn.node.runAction(cc.sequence(cc.delayTime(.5), cc.scaleTo(1, .9, .9).easing(cc.easeBackOut()))));
                var c = cc.sequence(cc.delayTime(5), cc.callFunc(function() {
                    cc.sys.OS_ANDROID == cc.sys.os && 4 == GlobalData.channel && jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "Showbanner", "()V")
                },
                e));
                e.node.runAction(c)
            },
            nextScene: function() {
                1 == n.getInstance().getStorageData("guide") ? cc.director.loadScene("PlotScene") : cc.director.loadScene("StageScene")
            }
        }),
        cc._RF.pop()
    },
    {
        GameData: "GameData",
        SoundManager: "SoundManager"
    }],
    LogoView: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "3bceai9sspJv7vuJD7z9Mhl", "LogoView"),
        cc.Class({
            extends: cc.Component,
            properties: {
                logo_spr: {
                default:
                    null,
                    type: cc.Node
                },
                hint_spr: {
                default:
                    null,
                    type: cc.Node
                }
            },
            onLoad: function() {
                this.logo_spr.opacity = 0,
                this.hint_spr.opacity = 0
            },
            start: function() {
                cc.director.loadScene("LoadScene")
            }
        }),
        cc._RF.pop()
    },
    {}],
    Menu: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "48cfdrtk35Bc5wClBBXRfx9", "Menu"),
        cc.Class({
            extends: cc.Component,
            properties: {},
            onLoad: function() {
                this.node.on(cc.Node.EventType.TOUCH_START, this.onClick, this)
            },
            onClick: function() {},
            onGo: function() {
                cc.director.resume(),
                this.node.active = !1
            },
            onBack: function() {
                cc.director.resume(),
                cc.director.loadScene("StageScene")
            },
            start: function() {}
        }),
        cc._RF.pop()
    },
    {}],
    PlayerB: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "6db9a8HALdH0JcP/yPskHlE", "PlayerB"),
        cc.Class({
            extends: cc.Component,
            properties: {
                Game_script: {
                default:
                    null,
                    type: t("Game")
                }
            },
            onLoad: function() {},
            playBServe: function() {
                this.Game_script.playBServe()
            },
            start: function() {}
        }),
        cc._RF.pop()
    },
    {
        Game: "Game"
    }],
    Player_B: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "7cefcHiaaRKK53oakimFRPQ", "Player_B"),
        cc.Class({
            extends: cc.Component,
            properties: {
                GuideView_script: {
                default:
                    null,
                    type: t("GuideView")
                }
            },
            onLoad: function() {},
            playBServe: function() {
                this.GuideView_script.playBServe()
            },
            start: function() {}
        }),
        cc._RF.pop()
    },
    {
        GuideView: "GuideView"
    }],
    PlotView: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "b35e9IhiKNPlq4nz3aC1lhc", "PlotView"),
        cc.Class({
            extends: cc.Component,
            properties: {
                hint1: {
                default:
                    null,
                    type: cc.Node
                },
                hint2: {
                default:
                    null,
                    type: cc.Node
                },
                hint3: {
                default:
                    null,
                    type: cc.Node
                },
                player1: {
                default:
                    null,
                    type: cc.Node
                },
                player2: {
                default:
                    null,
                    type: cc.Node
                },
                button: {
                default:
                    null,
                    type: cc.Button
                }
            },
            onLoad: function() {
                this.hint1.setScale(0, 0),
                this.hint2.setScale(0, 0),
                this.hint3.setScale(0, 0),
                this.button.node.setScale(0, 0),
                this.player2.runAction(cc.moveTo(0, cc.p(cc.winSize.width + 500, 300))),
                this.node.on(cc.Node.EventType.TOUCH_START, this.onClick, this)
            },
            start: function() {
                this.site = 0,
                this.player1.runAction(cc.blink(2, 5)),
                this.player2.runAction(cc.sequence(cc.delayTime(2), cc.moveTo(2, cc.p(cc.winSize.width / 2 - 2, 300)), cc.callFunc(function() {
                    this.showHint1()
                },
                this)))
            },
            showHint1: function() {
                this.hint1.runAction(cc.sequence(cc.scaleTo(.8, 1, 1).easing(cc.easeBounceOut()), cc.callFunc(function() {
                    this.site = 1
                },
                this), cc.delayTime(1.2), cc.callFunc(function() {
                    this.showHint2()
                },
                this)))
            },
            showHint2: function() {
                this.site = 2,
                this.hint2.runAction(cc.sequence(cc.scaleTo(.8, 1, 1).easing(cc.easeBounceOut()), cc.delayTime(1.2), cc.callFunc(function() {
                    this.showHint3()
                },
                this)))
            },
            showHint3: function() {
                this.site = 3,
                this.hint3.runAction(cc.sequence(cc.scaleTo(.8, 1, 1).easing(cc.easeBounceOut()), cc.delayTime(.2), cc.callFunc(function() {
                    this.button.node.runAction(cc.scaleTo(.4, 1, 1))
                },
                this)))
            },
            onClick: function() {
                1 == this.site ? (this.site = 2, this.hint2.runAction(cc.scaleTo(.2, 1, 1))) : 2 == this.site && (this.site = 3, this.hint3.runAction(cc.scaleTo(0, 1, 1)), this.button.node.runAction(cc.scaleTo(.2, 1, 1)))
            },
            play: function() {
                this.node.runAction(cc.sequence(cc.fadeOut(.2), cc.callFunc(function() {
                    cc.director.loadScene("GuideScene")
                })))
            }
        }),
        cc._RF.pop()
    },
    {}],
    ShowView: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "7ffb2L8+hhES46tJhYp6d6d", "ShowView"),
        cc.Class({
            extends: cc.Component,
            properties: {
                back_spr: {
                default:
                    null,
                    type: cc.Node
                },
                box1: {
                default:
                    null,
                    type: cc.Node
                },
                box2: {
                default:
                    null,
                    type: cc.Node
                }
            },
            onLoad: function() {
                this.back_spr.on(cc.Node.EventType.TOUCH_START, this.onClick, this)
            },
            start: function() {},
            onClick: function() {},
            onnext: function() {
                this.box1.active = !1,
                this.box2.active = !0
            },
            onClose: function() {
                this.node.active = !1
            }
        }),
        cc._RF.pop()
    },
    {}],
    SoundManager: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "5683bDMim9PBI159P6la5LU", "SoundManager");
        var n = t("GameData"),
        a = cc.Class({
            extends: cc.Component,
            properties: {},
            ctor: function() {},
            playMusic: function(t) {
                1 == n.getInstance().getStorageData("music") && cc.audioEngine.playMusic(cc.url.raw("resources/sound/" + t + ".mp3"), !0)
            },
            playEffect: function(t) {
                1 == n.getInstance().getStorageData("music") && cc.audioEngine.playEffect(cc.url.raw("resources/sound/" + t + ".mp3"), !1, 5)
            },
            stopMusic: function() {
                cc.audioEngine.stopAll()
            },
            resumeMusic: function() {
                cc.audioEngine.resumeAll(),
                cc.audioEngine.playMusic(cc.url.raw("resources/sound/HomeBGM.mp3"), !0)
            }
        });
        a._instance = null,
        a.getInstance = function() {
            return a._instance || (a._instance = new a),
            a._instance
        },
        e.exports = a,
        cc._RF.pop()
    },
    {
        GameData: "GameData"
    }],
    StageView: [function(t, e, c) {
        "use strict";
        cc._RF.push(e, "2786cnBeglBgIaIVfc7S6JP", "StageView");
        var n = t("GameData"),
        a = t("SoundManager");
        cc.Class({
            extends: cc.Component,
            properties: {
                bar_spr: {
                default:
                    null,
                    type: cc.Node
                },
                help: {
                default:
                    null,
                    type: cc.Node
                },
                music_btn: {
                default:
                    null,
                    type: cc.Button
                },
                music_stop_btn: {
                default:
                    null,
                    type: cc.Button
                },
                set_btn: {
                default:
                    null,
                    type: cc.Button
                },
                close_btn: {
                default:
                    null,
                    type: cc.Button
                },
                content: {
                default:
                    null,
                    type: cc.Node
                },
                button: {
                default:
                    null,
                    type: cc.Prefab
                },
                spine: {
                default:
                    null,
                    type: cc.Node
                },
                showview: {
                default:
                    null,
                    type: cc.Node
                }
            },
            onLoad: function() {
                this.site = 1,
                n.getInstance().setDoBoss(!1),
                n.getInstance().setDoStage(0),
                this.stage = n.getInstance().getStageData().id,
                this.bar_spr.setScale(0, 0),
                this.show_bar = !1,
                1 == n.getInstance().getStorageData("music") ? (this.music_btn.node.active = !0, this.music_stop_btn.node.active = !1) : (this.music_btn.node.active = !1, this.music_stop_btn.node.active = !0),
                1 == n.getInstance().getStorageData("isPass") && (n.getInstance().setStorageData("isPass", 0), this.showview.active = !0),
                cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this)
            },
            onKeyDown: function(t) {
                switch (cc.log("onKeyDown=" + t.keyCode), t.keyCode) {
                case cc.KEY.back:
                    if (cc.sys.OS_ANDROID == cc.sys.os) return cc.director.loadScene("LoadScene"),
                    !0
                }
            },
            start: function() {
                n.getInstance().getStorageData("isPass");
                for (var t = n.getInstance().showStage, e = 1; e <= 10; e++) {
                    var c = cc.instantiate(this.button);
                    c.parent = this.content;
                    var a = e;
                    c.setPosition(cc.p(0, 280 * a)),
                    c.getComponent("Button").init(a, e, this.stage)
                }
                var i = cc.find("Canvas/StageView/scrollview/view/content");
                this.content = i,
                t ? (2 == this.stage ? i.setPositionY(0) : i.setPositionY(280 * -(this.stage - 2)), n.getInstance().setShowStage(!1)) : i.setPositionY(280 * -(this.stage - 1))
            },
            callback: function(t, e, c) {},
            clickStage: function(t, e) {
                n.getInstance().setDoStage(e),
                cc.director.loadScene("GameScene")
            },
            clickBoss: function() {
                this.stage < 10 ? (n.getInstance().setDoBoss(!0), cc.director.loadScene("GameScene")) : cc.director.loadScene("GameScene")
            },
            clickBox: function() {
                0 == this.show_bar ? (this.show_bar = !0, this.bar_spr.runAction(cc.scaleTo(.1, 1, 1)), this.set_btn.node.active = !1, this.close_btn.node.active = !0) : (this.show_bar = !1, this.bar_spr.runAction(cc.scaleTo(.1, 0, 0)), this.set_btn.node.active = !0, this.close_btn.node.active = !1)
            },
            clickmusic: function(t, e) {
                cc.log(e),
                1 == e ? (a.getInstance().resumeMusic(), this.music_btn.node.active = !0, this.music_stop_btn.node.active = !1) : (a.getInstance().stopMusic(), this.music_btn.node.active = !1, this.music_stop_btn.node.active = !0),
                n.getInstance().setStorageData("music", e)
            },
            clickhelp: function() {
                this.help.active = !0
            },
            click_closeAD: function() {},
            update: function(t) {
                var e = this.content.position.y;
                if (e < 280 * -this.site * 5)(c = this.spine.getComponent("sp.Skeleton")).setAnimation(1, "animation" + this.site + "_1", !1),
                this.site = this.site + 1,
                c.addAnimation(1, "animation" + this.site, !0),
                cc.log(this.site);
                else if (e > 280 * -(this.site - 1) * 5 && this.site > 1) {
                    var c; (c = this.spine.getComponent("sp.Skeleton")).setAnimation(1, "animation" + this.site + "_2", !1),
                    this.site = this.site - 1,
                    c.addAnimation(1, "animation" + this.site, !0),
                    cc.log(this.site)
                }
            }
        }),
        cc._RF.pop()
    },
    {
        GameData: "GameData",
        SoundManager: "SoundManager"
    }]
},
{},
["Common", "GameAdapt", "GameData", "GameManager", "GameRoot", "Dialog", "Game", "GameLose", "GameWin", "Menu", "PlayerB", "GuideView", "Player_B", "HelpManager", "LoadView", "LogoView", "PlotView", "SoundManager", "Button", "HelpView", "ShowView", "StageView"]);